using System;
using System.Collections.Generic;

namespace ODSearchEngine
{
	internal abstract class IndexEngineBase : IIndexEngine
	{
		ISearchEngine searchEngine;
		
		private IndexEngineBase ()
		{
		}	
		
		public IndexEngineBase (ISearchEngine searchEngine)
		{
			this.searchEngine = searchEngine;
		}

		#region IIndexEngine implementation
		
		public abstract void Init();
		
		public abstract void CreateIndex (bool recreate);

		public abstract void IndexData (IDictionary<string, string> data);

		public abstract int RemoveData (IDictionary<string, string> data);

		public abstract void UpdateData (IDictionary<string, string> oldData, IDictionary<string, string> valuesToSet);
		#endregion
}
}

